Skip to content

Style sheet change APP.CSS & INDEX.CSS#328

Open
Maheshghosh wants to merge 1 commit into
GitMetricsLab:mainfrom
Maheshghosh:main
Open

Style sheet change APP.CSS & INDEX.CSS#328
Maheshghosh wants to merge 1 commit into
GitMetricsLab:mainfrom
Maheshghosh:main

Conversation

@Maheshghosh
Copy link
Copy Markdown

@Maheshghosh Maheshghosh commented May 19, 2026

Proper Architecture
Old:
.how-it-works-flow-line
New:
.flow-line
.flow-line--horizontal
.flow-line--vertical
.flow-line--light

Uses modern BEM-style scalable naming.

Removed Duplication repeated:
gradients
shadows
animation values
Now centralized with CSS variables.

Better Performance
Added:
will-change
translateZ(0)
backface-visibility
Improves animation rendering.

Better Theme System
Now dark mode is dynamic.

src/

├── styles/
│ ├── base/
│ │ ├── reset.css
│ │ ├── typography.css
│ │ └── variables.css
│ │
│ ├── components/
│ │ ├── flow-line.css
│ │ ├── icons.css
│ │ └── cards.css
│ │
│ ├── layouts/
│ │ ├── dashboard.css
│ │ └── sidebar.css
│ │
│ ├── themes/
│ │ ├── dark.css
│ │ └── light.css
│ │
│ └── globals.css

Summary by CodeRabbit

  • Style
    • Updated theme design with refined color scheme and global typography.
    • Enhanced visual styling for logos, cards, and interactive elements with improved shadows and hover effects.
    • Improved animations that respect system accessibility preferences for reduced motion.
    • Refreshed icon styling for better visual clarity and consistency.
    • Optimized responsive layout for mobile and tablet devices.

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented May 19, 2026

Deploy Preview for github-spy ready!

Name Link
🔨 Latest commit b4c5362
🔍 Latest deploy log https://app.netlify.com/projects/github-spy/deploys/6a0c0de4f7fa6500085895bc
😎 Deploy Preview https://deploy-preview-328--github-spy.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

📝 Walkthrough

Walkthrough

App.css and index.css replace hardcoded CSS styling with a Tailwind-aligned theme system. App.css introduces :root variables, updates logo/card/container styling with transitions and hover effects, and moves animations under reduced-motion preferences. index.css replaces "how-it-works-flow-line" and icon selectors with new .flow-line and .icon--* classes driven by design tokens, adding keyframes for horizontal and vertical flow animations.

Changes

CSS Component System & Animation Refactor

Layer / File(s) Summary
Global theme variables and base styling foundation
src/App.css, src/index.css
:root design tokens for colors, spacing, animation timing, and border radius established across both files; global page gradient background, typography, and element smoothing added to App.css.
Logo component styling and spin animation
src/App.css
Logo sizing, transition behavior, and React-specific hover drop-shadow variant defined; @keyframes logo-spin animation wired to .logo-spin only under prefers-reduced-motion: no-preference.
Container and card component styling
src/App.css
#root container uses theme variables for centered layout with padding; .card refactored with backdrop blur, borders, shadows, and hover elevation; .read-the-docs updated to variable-driven muted text styling.
App.css responsive media query adjustments
src/App.css
Media query for max-width: 768px adjusts #root padding, .logo sizing, and .card dimensions for smaller screens.
Flow-line animation system and icon status classes
src/index.css
New .flow-line base class with horizontal/vertical animation keyframes, repeating-gradient backgrounds, and light variants; @keyframes flow-horizontal and @keyframes flow-vertical replace old "how-it-works" selectors; .icon base class with .icon--merged, .icon--pr-open, .icon--pr-closed, .icon--issue-open, .icon--issue-closed status modifiers now derive colors from CSS variables; hover and reduced-motion media query behavior added throughout.

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly Related PRs

  • GitMetricsLab/github_tracker#239: Directly updates src/index.css flow-line animation selectors and icon status classes to align with the HowItWorks UI component that consumes these updated class names and variables.

Suggested Labels

level:intermediate, quality:clean, type:accessibility

Poem

🐰 With Tailwind grace and tokens true,
The CSS sprites dance anew—
Flows and icons spin with care,
Animations pause when needed there.
A cleaner, kinder design affair! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Style sheet change APP.CSS & INDEX.CSS' is vague and generic, using file names instead of describing the meaningful changes (BEM refactoring, CSS variable centralization, performance improvements). Revise the title to reflect the main architectural improvement, e.g., 'Refactor styles with BEM naming and centralized CSS variables' or 'Modernize stylesheet architecture with component-based organization'.
Description check ❓ Inconclusive The description covers key improvements (BEM naming, duplication removal, performance, theme system) but lacks critical template sections: no linked issue, no testing details, and no type-of-change selection. Complete the template by adding the Related Issue section, How Has This Been Tested section, and selecting the appropriate Type of Change checkbox(es).
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 Thank you @Maheshghosh for your contribution. Please make sure your PR follows https://github.com/GitMetricsLab/github_tracker/blob/main/CONTRIBUTING.md#-pull-request-guidelines

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (2)
src/index.css (1)

164-167: ⚡ Quick win

Complete reduced-motion handling for hover transforms.

Line 173 disables animation, but hover scaling still introduces motion (Lines 166 and 191). Disable transform transitions/hover transforms under reduced motion.

Accessibility-focused tweak
 `@media` (prefers-reduced-motion: reduce) {
   .flow-line--horizontal,
   .flow-line--vertical {
     animation: none;
   }
+
+  .flow-line,
+  .icon {
+    transition: none;
+  }
+
+  .flow-line:hover,
+  .icon:hover {
+    transform: none;
+  }
 }

Also applies to: 173-177, 190-192

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/index.css` around lines 164 - 167, The hover scale still moves when users
prefer reduced motion; update the CSS to fully disable transforms and transition
animations under reduced-motion by adding a prefers-reduced-motion media rule
that targets .flow-line (and its hover state) and removes/overrides transform
and transition properties so no scaling or transform transitions occur for users
with reduced motion; ensure the rule also covers any related selectors that
apply hover transforms elsewhere (e.g., the same .flow-line used in lines
~173-177 and ~190-192) so both the base and :hover states are overridden.
src/App.css (1)

43-50: ⚡ Quick win

Tokenize global body colors to keep theme switching functional.

Line 43 and Line 49 are hardcoded values; this can bypass theme overrides. Move these to CSS variables so dark/light themes can swap them consistently.

Proposed refactor
 :root {
+  --page-bg-start: `#0f172a`;
+  --page-bg-end: `#111827`;
+  --text-color: `#ffffff`;
   --max-width: 1280px;
   ...
 }

 body {
   ...
-  background: linear-gradient(
-    135deg,
-    `#0f172a`,
-    `#111827`
-  );
-  color: white;
+  background: linear-gradient(135deg, var(--page-bg-start), var(--page-bg-end));
+  color: var(--text-color);
   ...
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/App.css` around lines 43 - 50, The global body background and text color
are hardcoded in App.css (the linear-gradient start/end colors and "color:
white"), which prevents theme swaps; replace the hardcoded values with CSS
variables (e.g., --bg-start, --bg-end, --text-color) and use them in the
linear-gradient and color declarations in the body/global selector, and then
ensure your light/dark theme rules (or :root and .theme-dark/.theme-light
declarations) set those variables so theme switching updates the gradient and
text color consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/App.css`:
- Around line 35-52: The CSS blocks (starting with the body selector and the
other selector blocks referenced) contain incorrect blank-line placement around
declarations that trigger stylelint's declaration-empty-line-before rule; open
each rule block (e.g., the body block and the other blocks flagged) and either
remove the extra empty lines between the selector and its first declaration or
add the single required empty line before declarations according to your
stylelint config so spacing matches the rule, then run stylelint autofix or the
linter to confirm no more declaration-empty-line-before violations.
- Around line 1-3: Remove the unused Tailwind directives from src/App.css:
delete the three lines containing "`@tailwind` base;", "`@tailwind` components;",
and "`@tailwind` utilities;" (or clear the file) since only src/index.css is
imported; verify no components import App.css (search for "App.css" and the App
component) before removing to avoid breaking imports.

In `@src/index.css`:
- Around line 59-76: The .flow-line rule block (and other selector blocks in
this CSS file with similar spacing) violates the stylelint
declaration-empty-line-before rule; fix by aligning blank-line placement with
the repo's stylelint config: either add or remove the empty line immediately
before each declaration group so each block matches the configured expectation,
and re-run stylelint --fix (or manually edit) to ensure all selector blocks
(including the ones flagged elsewhere in this file) follow the same
declaration-empty-line-before spacing rule.
- Around line 59-158: Replace the removed legacy CSS class names in the
components with the new BEM class names: in Tracker (update occurrences of
icon-merged, icon-pr-closed, icon-pr-open, icon-issue-closed, icon-issue-open)
change to icon--merged, icon--pr-closed, icon--pr-open, icon--issue-closed,
icon--issue-open respectively; in HowItWorks replace how-it-works-flow-line (and
its light variant) with flow-line--horizontal (and flow-line--light combined,
e.g., "flow-line--light flow-line--horizontal") or flow-line--vertical when
appropriate; ensure you only change className strings in the JSX (e.g., the
className props) and keep any other modifiers/spacing intact.

---

Nitpick comments:
In `@src/App.css`:
- Around line 43-50: The global body background and text color are hardcoded in
App.css (the linear-gradient start/end colors and "color: white"), which
prevents theme swaps; replace the hardcoded values with CSS variables (e.g.,
--bg-start, --bg-end, --text-color) and use them in the linear-gradient and
color declarations in the body/global selector, and then ensure your light/dark
theme rules (or :root and .theme-dark/.theme-light declarations) set those
variables so theme switching updates the gradient and text color consistently.

In `@src/index.css`:
- Around line 164-167: The hover scale still moves when users prefer reduced
motion; update the CSS to fully disable transforms and transition animations
under reduced-motion by adding a prefers-reduced-motion media rule that targets
.flow-line (and its hover state) and removes/overrides transform and transition
properties so no scaling or transform transitions occur for users with reduced
motion; ensure the rule also covers any related selectors that apply hover
transforms elsewhere (e.g., the same .flow-line used in lines ~173-177 and
~190-192) so both the base and :hover states are overridden.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3615cd7e-6d8b-4ca6-bc11-cfb9b461b99c

📥 Commits

Reviewing files that changed from the base of the PR and between 8d17610 and b4c5362.

📒 Files selected for processing (2)
  • src/App.css
  • src/index.css

Comment thread src/App.css
Comment thread src/App.css
Comment thread src/index.css
Comment thread src/index.css
@Maheshghosh
Copy link
Copy Markdown
Author

Kindly marged the pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant